#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include "ui_dialog.h"
#include "sdocument.h"
#include "fft.h"

#define DLL_SPEC extern "C" __declspec (dllexport)

DLL_SPEC void PrepareImage();
DLL_SPEC void InitMenu(QMenu* menu,QAction** action,QString& funcName);
DLL_SPEC void InitPointers(ImageDocument* currentDocument);

class Dialog : public QDialog, public Ui::dlgFFT {
    Q_OBJECT
public:
    Dialog(QWidget *parent = 0);
private:
    QImage img1;
    QImage img2;
    ShortComplex* spectr1;
    ShortComplex* spectr2;
    ShortComplex* spectr3;
    int xMasSize1;
    int yMasSize1;
    int xPowerTwo1;
    int yPowerTwo1;
    int xMasSize2;
    int yMasSize2;
    int xPowerTwo2;
    int yPowerTwo2;
    int xMasSize3;
    int yMasSize3;
    int xPowerTwo3;
    int yPowerTwo3;
private slots:
    void on_pbProcessOp_clicked();
    void on_actionShowBigImage1_triggered();
    void on_actionShowBigImage2_triggered();
    void on_pbCalcSpectr1_clicked();
    void on_pbCalcSpectr2_clicked();
    void on_pbLoadImg1_clicked();
    void on_pbLoadImg2_clicked();
};

#endif // DIALOG_H
